/* USER CODE BEGIN Header */
/**
 ******************************************************************************
 * @file           : main.h
 * @brief          : Header for main.c file.
 *                   This file contains the common defines of the application.
 ******************************************************************************
 * @attention
 *
 * Copyright (c) 2024 STMicroelectronics.
 * All rights reserved.
 *
 * This software is licensed under terms that can be found in the LICENSE file
 * in the root directory of this software component.
 * If no LICENSE file comes with this software, it is provided AS-IS.
 *
 ******************************************************************************
 */
/* USER CODE END Header */

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __MAIN_H
#define __MAIN_H

#ifdef __cplusplus
extern "C"
{
#endif

/* Includes ------------------------------------------------------------------*/
// #include "stm32f1xx_hal.h"
#include "stm32f1xx.h"
	/* Private includes ----------------------------------------------------------*/
	/* USER CODE BEGIN Includes */
	extern uint32_t SystemCoreClock;
/* USER CODE END Includes */

/* Exported types ------------------------------------------------------------*/
/* USER CODE BEGIN ET */
#if !defined(UNUSED)
#define UNUSED(X) (void)X /* To avoid gcc/g++ warnings */
#endif					  /* UNUSED */
#define __HAL_RCC_GPIOC_CLK_ENABLE()                         \
	do                                                       \
	{                                                        \
		__IO uint32_t tmpreg;                                \
		SET_BIT(RCC->APB2ENR, RCC_APB2ENR_IOPCEN);           \
		/* Delay after an RCC peripheral clock enabling */   \
		tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_IOPCEN); \
		UNUSED(tmpreg);                                      \
	} while (0U)

#define __HAL_RCC_GPIOA_CLK_ENABLE()                         \
	do                                                       \
	{                                                        \
		__IO uint32_t tmpreg;                                \
		SET_BIT(RCC->APB2ENR, RCC_APB2ENR_IOPAEN);           \
		/* Delay after an RCC peripheral clock enabling */   \
		tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_IOPAEN); \
		UNUSED(tmpreg);                                      \
	} while (0U)

#define __HAL_RCC_GPIOB_CLK_ENABLE()                         \
	do                                                       \
	{                                                        \
		__IO uint32_t tmpreg;                                \
		SET_BIT(RCC->APB2ENR, RCC_APB2ENR_IOPBEN);           \
		/* Delay after an RCC peripheral clock enabling */   \
		tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_IOPBEN); \
		UNUSED(tmpreg);                                      \
	} while (0U)
/* USER CODE END ET */

/* Exported constants --------------------------------------------------------*/
/* USER CODE BEGIN EC */
 
	/* USER CODE END EC */

	/* Exported macro ------------------------------------------------------------*/
	/* USER CODE BEGIN EM */

	/* USER CODE END EM */

	/* Exported functions prototypes ---------------------------------------------*/
	void Error_Handler(void);

	/* USER CODE BEGIN EFP */
	void LED_ON();
	void LED_OFF();
	/* USER CODE END EFP */

	/* Private defines -----------------------------------------------------------*/

	/* USER CODE BEGIN Private defines */
	extern __IO uint32_t uwTick;
	/* USER CODE END Private defines */

#ifdef __cplusplus
}
#endif

#endif /* __MAIN_H */
